import { fileURLToPath, URL } from "node:url";

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import federation from "@originjs/vite-plugin-federation";
// import vueDevTools from 'vite-plugin-vue-devtools'

// https://vite.dev/config/
export default defineConfig({
    plugins: [
        vue(),
        // vueDevTools(),
      
        federation({
            name: "app2", // 指定模块名称
            filename: "remoteEntry.js", // 指定远程 entry 文件名
            library: { type: "module" },
            exposes: {
                // 指定要暴露的组件，键为模块名称，值为组件路径
                "./Button": "./src/components/Button.vue",
                // 如果有多个组件，可以继续添加
            },
            shared: ["vue"], // 确保依赖共享，避免重复打包
        }),
    ],
    build: {
        target: "esnext",
        minify: false, // 可选，关闭压缩以便调试
    },
    resolve: {
        alias: {
            "@": fileURLToPath(new URL("./src", import.meta.url)),
        },
	},
	server: {
		port: 3002,
		open: true,
	}
});
